Color display devices have become the principal display devices of choice for most computer users. The display of color on a monitor is normally achieved by operating the display device to emit light, e.g., a combination of red, green, and blue light, which results in one or more colors being perceived by the human eye.
In cathode ray tube (CRT) display devices, the different colors of light are generated via the use of phosphor coatings which may be applied as dots in a sequence on the screen of the CRT. A different phosphor coating is normally used to generate each of the three colors, red, green, and blue resulting in repeating sequences of phosphor dots which, when excited by a beam of electrons, will generate the colors red, green and blue.
The term pixel is commonly used to refer to one spot in, e.g., a rectangular grid of thousands of such spots. The spots are individually used by a computer to form an image on the display device. For a color CRT, where a single triad of red, green and blue phosphor dots cannot be addressed, the smallest possible pixel size will depend on the focus, alignment and bandwidth of the electron guns used to excite the phosphors. The light emitted from one or more triads of red, green and blue phosphor dots, in various arrangements known for CRT displays, tend to blend together giving, at a distance, the appearance of a single colored light source.
In color displays, the intensity of the light emitted corresponding to the additive primary colors, red, green and blue, can be varied to get the appearance of almost any desired color pixel. Adding no color, i.e., emitting no light, produces a black pixel. Adding 100 percent of all three colors results in white.
FIG. 1 illustrates a known portable computer 100, which comprises a housing 101, a disk drive 105, keyboard 104 and a flat panel display 102.
Portable personal computers 100 tend to use liquid crystal displays (LCD) or other flat panel display devices 102, as opposed to CRT displays. This is because flat panel displays tend to be small and light weight as compared to CRT displays. In addition, flat panel displays tend to consume less power than comparably sized CRT displays making them better suited for battery powered applications than CRT displays.
As the quality of flat panel color displays continues to increase and their cost decreases, flat panel displays are beginning to replace CRT displays in desktop applications. Accordingly, flat panel displays, and LCDs in particular, are becoming ever more common.
Over the years, most image processing techniques, including the generation and display of fonts, e.g., sets of characters, on computer screens, have been developed and optimized for display on CRT display devices.
Unfortunately, existing text display routines fail to take into consideration the unique physical characteristics of flat panel display devices. These physical characteristics differ considerably from the characteristics of CRT devices particularly in regard to the physical characteristics of the RGB color light sources.
Color LCD displays are exemplary of display devices which utilize multiple distinctly addressable elements, referred to herein as pixel sub-elements or pixel sub-components, to represent each pixel of an image being displayed. Normally, each pixel on a color LCD display is represented by a single pixel element which usually comprises three non-square elements, i.e., red, green and blue (RGB) pixel sub-components. Thus, a set of RGB pixel sub-components together make up a single pixel element. LCD displays of the known type comprise a series of RGB pixel sub-components which are commonly arranged to form stripes along the display. The RGB stripes normally run the entire length of the display in one direction. The resulting RGB stripes are sometimes referred to as "RGB striping". Common LCD monitors used for computer applications, which are wider than they are tall, tend to have RGB stripes running in the vertical direction.
FIG. 2A illustrates a known LCD screen 200 comprising a plurality of rows (R1-R12) and columns (C1-C16) which may be used as the display 102. Each row/column intersection forms a square which represents one pixel element. FIG. 2B illustrates the upper left hand portion of the known display 200 in greater detail.
Note in FIG. 2B how each pixel element, e.g., the (R1, C4) pixel element, comprises three distinct sub-element or sub-components, a red sub-component 206, a green sub-component 207 and a blue sub-component 208. Each known pixel sub-component 206, 207, 208 is 1/3 or approximately 1/3 the width of a pixel while being equal, or approximately equal, in height to the height of a pixel. Thus, when combined, the three 1/3 width pixel sub-components 206, 207, 208 form a single pixel element.
As illustrated in FIG. 2A, one known arrangement of RGB pixel sub-components 206, 207, 208 form what appear to be vertical color stripes down the display 200. Accordingly, the arrangement of 1/3 width color sub-components 206, 207, 208, in the known manner illustrated in FIGS. 2A and 2B, is sometimes called "vertical striping".
While only 12 rows and 16 columns are shown in FIG. 2A for purposes of illustration, common column x row ratios include, e.g., 640.times.480, 800.times.600, and 1024.times.768. Note that known display devices normally involve the display being arranged in landscape fashion, i.e., with the monitor being wider than it is high as illustrated in FIG. 2A, and with stripes running in the vertical direction.
LCDs are manufactured with pixel sub-components arranged in several additional patterns including, e.g., zig-zags and a delta pattern common in camcorder view finders. While features of the present invention can be used with such pixel sub-component arrangements, since the RGB striping configuration is more common, the exemplary embodiments of the present invention will be explained in the context of using RGB striped displays.
Traditionally, each set of pixel sub-components for a pixel element is treated as a single pixel unit. Accordingly, in known systems luminous intensity values for all the pixel sub-components of a pixel element are generated from the same portion of an image. Consider for example, the image represented by the grid 220 illustrated in FIG. 2C. In FIG. 2C each square represents an area of an image which is to be represented by a single pixel element, e.g., a red, green and blue pixel sub-component of the corresponding square of the grid 230. In FIG. 2C a shaded circle is used to represent a single image sample from which luminous intensity values are generated. Note how a single sample 222 of the image 22C is used in known systems to generate the luminous intensity values for each of the red, green, and blue pixel sub-components 232, 233, 234. Thus, in known systems, the RGB pixel sub-components are generally used as a group to generate a single colored pixel corresponding to a single sample of the image to be represented.
The light from each pixel sub-component group effectively adds together to create the effect of a single color whose hue, saturation, and intensity depend on the value of each of the three pixel sub-components. Say, for example, each pixel sub-component has a potential intensity of between 0 and 255. If all three pixel sub-components are given 255 intensity, the eye perceives the pixel as being white. However, if all three pixel sub-components are given a value turning off each of the three pixel sub-components, the eye perceives a black pixel. By varying t-he respective intensities of each pixel sub-component, it is possible to generate millions of colors in between these two extremes.
Since, in the known system a single sample is mapped to a triple of pixel sub-components which are each 1/3 of a pixel in width, spatial displacement of the left and right pixel sub-components occurs since the centers of these elements are 1/3 from the center of the sample.
Consider for example that an image to be represented was a red cube with green and blue components equal to zero. As a result of the displacement between the sample and green image sub-component, when displayed on an LCD display of the type illustrated in FIG. 2A, the apparent position of the cube on the display will be shifted 1/3 of a pixel to the left of its actual position. Similarly, a blue cube would appear to be displaced 1/3 of a pixel to the right. Thus, known imaging techniques used with LCD screens can result in undesirable image displacement errors.
Text characters represent one type of image which is particularly difficult to accurately display given typical flat panel display resolutions of 72 or 96 dots (pixels) per inch (dpi). Such display resolutions are far lower than the 600 dpi supported by most printers and the even higher resolutions found in most commercially printed text such as books and magazines.
Because of the relatively low display resolution of most video display devices, not enough pixels are available to draw smooth character shapes, especially at common text sizes of 10, 12, and 14 point type. At such common text rendering sizes, gradations between different sizes and weights, e.g., the thickness, of the same typeface, are far coarser than their print equivalent.
The relatively coarse size of standard pixels tends to create aliasing effects which give displayed type characters jagged edges. For example, the coarse size of pixels tends to result in the squaring off of serifs, the short lines or ornaments at the ends, e.g., bottom, of strokes which form a typeface character. This makes it difficult to accurately display many highly readable or ornamental typefaces which tend to use serifs extensively.
Such problems are particularly noticeable in the stems, e.g., thin vertical portions, of characters. Because pixels are the minimum display unit of conventional monitors, it is not possible to display stems of characters using conventional techniques with less than one pixel stem weight. Furthermore, stem weight can only be increased a pixel at a time. Thus, stem weights leap from one to two pixels wide. Often one pixel wide character stems are too light, while two pixel wide character stems are too bold. Since creating a boldface version of a typeface on a display screen for small characters involves going from a stem weight of one pixel to two pixels, the difference in weight between the two is 100%. In print, bold might typically be only 20 or 30 percent heavier than its equivalent regular or Roman face. Generally, this, "one pixel, two pixel" problem has been treated as an inherent characteristic of display devices which must simply be accepted.
Prior work in the field of displaying characters has focused, in part, on the development of anti-aliasing technologies designed to improve the display of characters on CRT displays. A commonly used anti-aliasing technique involves using shades of gray for pixels which include edges of the character. In effect, this smudges shapes, reducing spatial frequency of the edges but better approximating the intended character shapes. While known anti-aliasing techniques can significantly improve the quality of characters displayed on a CRT display device, many of these techniques are ineffective when applied to LCD display devices which differ considerably from CRT displays in terms of pixel sub-component arrangement.
While anti-aliasing techniques have helped the aliasing problem associated with displaying relatively low resolution representations of text, at least on CRT displays, the problem of pixel size and the inability to accurately display character stem widths have, prior to the present invention, been considered a fixed characteristic of display devices which must be tolerated.
In view of the above, it is apparent that there is a need for new and improved methods and apparatus for displaying text on flat panel display devices. It is desirable that at least some of the new methods be suitable for use with existing display device and computers. It is also desirable that at least some methods and apparatus be directed to improving the quality of displayed text on new computers using, e.g., new display devices and/or new methods of displaying text.
While the display of text, which is a special case of graphics, is of major concern in many computer applications, there is also a need for improved methods and apparatus for displaying other graphics, geometric shapes, e.g., circles, squares, etc., and captured images such as photographs, accurately and clearly.